/**
 ******************************************************************************
 * @file file_operation.h
 * @author GX (2524913364@qq.com)
 * @brief 这是基于标准io设计的功能模块，如果用户使用系统io则需要使用函数 fpopen() 将系统io
 *        的文件描述符转换成标准io的文件指针 FILE *
 * @version 1.0.0 
 * @date 2022-05-26
 * 
 * @copyright Copyright (c) 2022
 * 
 ******************************************************************************
 *----------------------------------------------------------------------------*
 *  Remark         : Description                                              *
 *----------------------------------------------------------------------------*
 *  Change History :                                                          *
 *  <Date>     | <Version> | <Author>       | <Description>                   *
 *----------------------------------------------------------------------------*
 *  2022-05-26 | 1.0.0     | GX             | Create file                     *
 *----------------------------------------------------------------------------*
 *                                                                            *
 ******************************************************************************
 */


/*----------------------------- start of file -------------------------------*/
#ifndef _FILE_OPERATION_H
#define _FILE_OPERATION_H

#include <sys/stat.h> 

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>

#define  COPY_BLOCK_BYTE   (1024*1024)      /* 一块的字节数(byte) ==> 1M */
#define  COPY_BLOCK_NUM    10               /* 块数 */
#define  BYTE_TO_M(byte)   ((byte)*1.0/1024/1024)  /* 将字节单位换算成兆 */

/*获取绝对路径*/
#define GET_ABS_PATH(buffer)    ((buffer = getcwd(NULL,0))!=NULL)

/*缓存的长度，在 file_operation.c 函数 fatherPath() 中使用*/
#define BUFFLEN 60

/*将原目录字符串裁剪成上级目录字符串 -- 学习例程*/
bool fatherPath(char *fPath, const char *path);

/*检查路径是否正常*/
// bool checkDir(const char *path);

/* 获取文件大小 */
long f_size(FILE *fp);

bool f_copy(const char *dstFd, const char *srcFd);

#endif /* _FILE_OPERATION_H */
 

/*------------------------------ end of file --------------------------------*/

